const app = getApp()

Page({
  data: {
    chatHistory: [],
    elderlyModeEnabled: false
  },

  onLoad() {
    this.updateData()
  },
  
  onShow() {
    this.updateData()
  },
  
  // 更新页面数据
  updateData() {
    const globalData = app.globalData
    
    this.setData({
      chatHistory: globalData.chatHistory,
      elderlyModeEnabled: globalData.elderlyModeEnabled
    })
  },
  
  // 打开会话
  openSession(e) {
    const { sessionId } = e.currentTarget.dataset
    console.log('打开会话:', sessionId);
    
    if (app.switchSession(sessionId)) {
      wx.redirectTo({
        url: '/pages/chat/chat'
      })
    } else {
      wx.showToast({
        title: '会话不存在',
        icon: 'none',
        duration: 2000
      })
    }
  },
  
  // 删除会话
  deleteSession(e) {
    const { sessionId } = e.currentTarget.dataset
    
    wx.showModal({
      title: '确认删除',
      content: '确定要删除这个会话吗？',
      success: (res) => {
        if (res.confirm) {
          if (app.deleteSession(sessionId)) {
            this.updateData()
            wx.showToast({
              title: '已删除',
              icon: 'success',
              duration: 1500
            })
          } else {
            wx.showToast({
              title: '删除失败',
              icon: 'none',
              duration: 2000
            })
          }
        }
      }
    })
  },
  
  // 清空所有历史
  clearAllHistory() {
    wx.showModal({
      title: '确认清空',
      content: '确定要清空所有会话历史吗？此操作不可恢复！',
      success: (res) => {
        if (res.confirm) {
          app.clearAllHistory()
          this.updateData()
          wx.showToast({
            title: '已清空所有历史',
            icon: 'success',
            duration: 1500
          })
        }
      }
    })
  },
  
  // 格式化时间
  formatTime(timestamp) {
    if (!timestamp) return ''
    
    const date = new Date(timestamp)
    const now = new Date()
    
    // 如果是今天
    if (date.toDateString() === now.toDateString()) {
      return date.getHours().toString().padStart(2, '0') + ':' + 
             date.getMinutes().toString().padStart(2, '0')
    }
    
    // 如果是昨天
    const yesterday = new Date(now)
    yesterday.setDate(now.getDate() - 1)
    if (date.toDateString() === yesterday.toDateString()) {
      return '昨天 ' + date.getHours().toString().padStart(2, '0') + ':' + 
             date.getMinutes().toString().padStart(2, '0')
    }
    
    // 其他日期
    return (date.getMonth() + 1) + '月' + date.getDate() + '日 ' + 
           date.getHours().toString().padStart(2, '0') + ':' + 
           date.getMinutes().toString().padStart(2, '0')
  }
}) 